package com.bs.process.project.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bs.process.project.mapper.SysProjectFileTypeMapper;
import com.bs.process.project.domain.SysProjectFileType;
import com.bs.process.project.service.ISysProjectFileTypeService;
import com.bs.system.domain.SysMenu;
import com.bs.common.constant.UserConstants;
import com.bs.common.core.text.Convert;
import com.bs.common.utils.StringUtils;

/**
 * 项目文件类型Service业务层处理
 *
 * @author Xianlu Tech
 * @date 2020-06-13
 */
@Service
public class SysProjectFileTypeServiceImpl implements ISysProjectFileTypeService {
    @Autowired
    private SysProjectFileTypeMapper sysProjectFileTypeMapper;

    /**
     * 查询项目文件类型
     *
     * @param id 项目文件类型ID
     * @return 项目文件类型
     */
    @Override
    public SysProjectFileType selectSysProjectFileTypeById(String id) {
        return sysProjectFileTypeMapper.selectSysProjectFileTypeById(id);
    }

    /**
     * 查询项目文件类型列表
     *
     * @param sysProjectFileType 项目文件类型
     * @return 项目文件类型
     */
    @Override
    public List<SysProjectFileType> selectSysProjectFileTypeList(SysProjectFileType sysProjectFileType) {
        return sysProjectFileTypeMapper.selectSysProjectFileTypeList(sysProjectFileType);
    }

    /**
     * 新增项目文件类型
     *
     * @param sysProjectFileType 项目文件类型
     * @return 结果
     */
    @Override
    public int insertSysProjectFileType(SysProjectFileType sysProjectFileType) {
        return sysProjectFileTypeMapper.insertSysProjectFileType(sysProjectFileType);
    }

    /**
     * 修改项目文件类型
     *
     * @param sysProjectFileType 项目文件类型
     * @return 结果
     */
    @Override
    public int updateSysProjectFileType(SysProjectFileType sysProjectFileType) {
        return sysProjectFileTypeMapper.updateSysProjectFileType(sysProjectFileType);
    }

    /**
     * 删除项目文件类型对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteSysProjectFileTypeByIds(String ids) {
        return sysProjectFileTypeMapper.deleteSysProjectFileTypeByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除项目文件类型信息
     *
     * @param id 项目文件类型ID
     * @return 结果
     */
    @Override
    public int deleteSysProjectFileTypeById(String id) {
        return sysProjectFileTypeMapper.deleteSysProjectFileTypeById(id);
    }

	@Override
	public String checkTypeNameUnique(SysProjectFileType sysProjectFileType) {
		// TODO Auto-generated method stub
//		 Long menuId = StringUtils.isNull(sysProjectFileType.getMenuId()) ? -1L : menu.getMenuId();
//	        SysMenu info = menuMapper.checkMenuNameUnique(menu.getMenuName(), menu.getParentId());
//	        if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue())
//	        {
//	            return UserConstants.PROJECTTYPE_NAME_NOT_UNIQUE;
//	        }
	        return UserConstants.PROJECTTYPE_NAME_UNIQUE;
	}


	@Override
	public long selectCountSysProjectFileTypeByParentId(String parentId) {
		// TODO Auto-generated method stub
		return sysProjectFileTypeMapper.selectCountSysProjectFileTypeByParentId(parentId);
	}
}
